mediasoup 3.20.0 → 3.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node/lib/Consumer.d.ts.map +1 -1
- package/node/lib/Consumer.js +5 -4
- package/node/lib/DataConsumer.d.ts +2 -3
- package/node/lib/DataConsumer.d.ts.map +1 -1
- package/node/lib/DataConsumer.js +10 -7
- package/node/lib/DataConsumerTypes.d.ts +5 -4
- package/node/lib/DataConsumerTypes.d.ts.map +1 -1
- package/node/lib/DataProducer.d.ts.map +1 -1
- package/node/lib/DataProducer.js +2 -1
- package/node/lib/PipeTransport.d.ts.map +1 -1
- package/node/lib/PipeTransport.js +5 -4
- package/node/lib/PlainTransport.d.ts.map +1 -1
- package/node/lib/PlainTransport.js +6 -5
- package/node/lib/Producer.d.ts.map +1 -1
- package/node/lib/Producer.js +4 -3
- package/node/lib/Router.js +1 -1
- package/node/lib/WebRtcTransport.d.ts.map +1 -1
- package/node/lib/WebRtcTransport.js +6 -5
- package/node/lib/fbs/consumer/degrade-request.d.ts +30 -0
- package/node/lib/fbs/consumer/degrade-request.d.ts.map +1 -0
- package/node/lib/fbs/consumer/degrade-request.js +124 -0
- package/node/lib/fbs/consumer/enable-delay-and-loss-request.d.ts +24 -0
- package/node/lib/fbs/consumer/enable-delay-and-loss-request.d.ts.map +1 -0
- package/node/lib/fbs/consumer/enable-delay-and-loss-request.js +102 -0
- package/node/lib/fbs/data-consumer/send-response.d.ts +21 -0
- package/node/lib/fbs/data-consumer/send-response.d.ts.map +1 -0
- package/node/lib/fbs/data-consumer/send-response.js +91 -0
- package/node/lib/fbs/data-consumer.d.ts +1 -0
- package/node/lib/fbs/data-consumer.d.ts.map +1 -1
- package/node/lib/fbs/data-consumer.js +4 -1
- package/node/lib/fbs/producer/degrade-request.d.ts +30 -0
- package/node/lib/fbs/producer/degrade-request.d.ts.map +1 -0
- package/node/lib/fbs/producer/degrade-request.js +124 -0
- package/node/lib/fbs/response/body.d.ts +7 -5
- package/node/lib/fbs/response/body.d.ts.map +1 -1
- package/node/lib/fbs/response/body.js +7 -3
- package/node/lib/fbs/response/response.d.ts +3 -2
- package/node/lib/fbs/response/response.d.ts.map +1 -1
- package/node/lib/fbs/sctp-parameters/num-sctp-streams.d.ts.map +1 -1
- package/node/lib/fbs/sctp-parameters/num-sctp-streams.js +5 -5
- package/node/lib/fbs/transport/sctp-negotiated-max-streams-notification.d.ts +24 -0
- package/node/lib/fbs/transport/sctp-negotiated-max-streams-notification.d.ts.map +1 -0
- package/node/lib/fbs/transport/sctp-negotiated-max-streams-notification.js +102 -0
- package/node/lib/fbs/transport/sctp-negotiated-options-notification.d.ts +24 -0
- package/node/lib/fbs/transport/sctp-negotiated-options-notification.d.ts.map +1 -0
- package/node/lib/fbs/transport/sctp-negotiated-options-notification.js +102 -0
- package/node/lib/fbs/worker/close-notification.d.ts +18 -0
- package/node/lib/fbs/worker/close-notification.d.ts.map +1 -0
- package/node/lib/fbs/worker/close-notification.js +78 -0
- package/node/lib/fbs/worker/close-request.d.ts +18 -0
- package/node/lib/fbs/worker/close-request.d.ts.map +1 -0
- package/node/lib/fbs/worker/close-request.js +78 -0
- package/node/lib/fbs/worker/close-worker-notification.d.ts +18 -0
- package/node/lib/fbs/worker/close-worker-notification.d.ts.map +1 -0
- package/node/lib/fbs/worker/close-worker-notification.js +78 -0
- package/node/lib/sctpParametersTypes.d.ts +23 -0
- package/node/lib/sctpParametersTypes.d.ts.map +1 -1
- package/node/lib/test/test-Consumer.js +194 -0
- package/node/lib/test/test-DataConsumer.js +6 -0
- package/node/lib/test/test-Router.js +11 -0
- package/node/lib/test/test-werift-sctp.js +7 -0
- package/npm-scripts.mjs +2 -2
- package/package.json +7 -6
- package/worker/Makefile +5 -1
- package/worker/deps/libwebrtc/meson.build +5 -1
- package/worker/fbs/dataConsumer.fbs +4 -0
- package/worker/fbs/response.fbs +1 -0
- package/worker/fuzzer/src/RTC/RTP/FuzzerPacket.cpp +2 -2
- package/worker/include/Channel/ChannelMessageRegistrator.hpp +4 -3
- package/worker/include/Channel/ChannelNotification.hpp +0 -4
- package/worker/include/Channel/ChannelRequest.hpp +3 -4
- package/worker/include/DepLibSRTP.hpp +2 -2
- package/worker/include/RTC/ActiveSpeakerObserver.hpp +2 -2
- package/worker/include/RTC/AudioLevelObserver.hpp +2 -2
- package/worker/include/RTC/Consumer.hpp +1 -1
- package/worker/include/RTC/DataConsumer.hpp +2 -2
- package/worker/include/RTC/DtlsTransport.hpp +4 -4
- package/worker/include/RTC/ICE/IceServer.hpp +2 -2
- package/worker/include/RTC/ICE/StunPacket.hpp +34 -34
- package/worker/include/RTC/KeyFrameRequestManager.hpp +3 -3
- package/worker/include/RTC/Parameters.hpp +2 -2
- package/worker/include/RTC/PipeConsumer.hpp +6 -5
- package/worker/include/RTC/PlainTransport.hpp +0 -1
- package/worker/include/RTC/PortManager.hpp +92 -12
- package/worker/include/RTC/Producer.hpp +7 -6
- package/worker/include/RTC/RTCP/Feedback.hpp +1 -2
- package/worker/include/RTC/RTCP/FeedbackRtpTransport.hpp +2 -2
- package/worker/include/RTC/RTCP/Packet.hpp +2 -2
- package/worker/include/RTC/RTCP/Sdes.hpp +1 -1
- package/worker/include/RTC/RTP/Codecs/DependencyDescriptor.hpp +2 -1
- package/worker/include/RTC/RTP/Packet.hpp +57 -57
- package/worker/include/RTC/RTP/ProbationGenerator.hpp +2 -2
- package/worker/include/RTC/RTP/SharedPacket.hpp +4 -4
- package/worker/include/RTC/Router.hpp +12 -11
- package/worker/include/RTC/RtcLogger.hpp +2 -2
- package/worker/include/RTC/RtpDictionaries.hpp +6 -6
- package/worker/include/RTC/RtpListener.hpp +4 -4
- package/worker/include/RTC/SCTP/association/Association.hpp +13 -13
- package/worker/include/RTC/SCTP/association/HeartbeatHandler.hpp +2 -2
- package/worker/include/RTC/SCTP/association/NegotiatedCapabilities.hpp +2 -2
- package/worker/include/RTC/SCTP/association/PacketSender.hpp +3 -3
- package/worker/include/RTC/SCTP/association/StateCookie.hpp +9 -9
- package/worker/include/RTC/SCTP/association/StreamResetHandler.hpp +4 -4
- package/worker/include/RTC/SCTP/association/TransmissionControlBlock.hpp +24 -24
- package/worker/include/RTC/SCTP/association/TransmissionControlBlockContextInterface.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/Chunk.hpp +86 -86
- package/worker/include/RTC/SCTP/packet/ErrorCause.hpp +18 -18
- package/worker/include/RTC/SCTP/packet/Packet.hpp +33 -33
- package/worker/include/RTC/SCTP/packet/Parameter.hpp +24 -24
- package/worker/include/RTC/SCTP/packet/TLV.hpp +13 -13
- package/worker/include/RTC/SCTP/packet/UserData.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/chunks/AbortAssociationChunk.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/chunks/AnyDataChunk.hpp +9 -9
- package/worker/include/RTC/SCTP/packet/chunks/AnyForwardTsnChunk.hpp +3 -3
- package/worker/include/RTC/SCTP/packet/chunks/CookieAckChunk.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/chunks/CookieEchoChunk.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/chunks/DataChunk.hpp +11 -11
- package/worker/include/RTC/SCTP/packet/chunks/ForwardTsnChunk.hpp +6 -6
- package/worker/include/RTC/SCTP/packet/chunks/HeartbeatAckChunk.hpp +6 -6
- package/worker/include/RTC/SCTP/packet/chunks/HeartbeatRequestChunk.hpp +6 -6
- package/worker/include/RTC/SCTP/packet/chunks/IDataChunk.hpp +6 -6
- package/worker/include/RTC/SCTP/packet/chunks/IForwardTsnChunk.hpp +7 -7
- package/worker/include/RTC/SCTP/packet/chunks/InitAckChunk.hpp +10 -10
- package/worker/include/RTC/SCTP/packet/chunks/InitChunk.hpp +8 -8
- package/worker/include/RTC/SCTP/packet/chunks/OperationErrorChunk.hpp +6 -6
- package/worker/include/RTC/SCTP/packet/chunks/ReConfigChunk.hpp +10 -10
- package/worker/include/RTC/SCTP/packet/chunks/SackChunk.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/chunks/ShutdownAckChunk.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/chunks/ShutdownChunk.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/chunks/ShutdownCompleteChunk.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/chunks/UnknownChunk.hpp +2 -2
- package/worker/include/RTC/SCTP/packet/errorCauses/CookieReceivedWhileShuttingDownErrorCause.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/errorCauses/InvalidMandatoryParameterErrorCause.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/errorCauses/InvalidStreamIdentifierErrorCause.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/errorCauses/MissingMandatoryParameterErrorCause.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/errorCauses/NoUserDataErrorCause.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/errorCauses/OutOfResourceErrorCause.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/errorCauses/ProtocolViolationErrorCause.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/errorCauses/RestartOfAnAssociationWithNewAddressesErrorCause.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/errorCauses/StaleCookieErrorCause.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/errorCauses/UnknownErrorCause.hpp +2 -2
- package/worker/include/RTC/SCTP/packet/errorCauses/UnrecognizedChunkTypeErrorCause.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/errorCauses/UnrecognizedParametersErrorCause.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/errorCauses/UnresolvableAddressErrorCause.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/errorCauses/UserInitiatedAbortErrorCause.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/parameters/AddIncomingStreamsRequestParameter.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/parameters/AddOutgoingStreamsRequestParameter.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/parameters/CookiePreservativeParameter.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/parameters/ForwardTsnSupportedParameter.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/parameters/HeartbeatInfoParameter.hpp +3 -3
- package/worker/include/RTC/SCTP/packet/parameters/IPv4AddressParameter.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/parameters/IPv6AddressParameter.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/parameters/IncomingSsnResetRequestParameter.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/parameters/OutgoingSsnResetRequestParameter.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/parameters/ReconfigurationResponseParameter.hpp +7 -7
- package/worker/include/RTC/SCTP/packet/parameters/SsnTsnResetRequestParameter.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/parameters/StateCookieParameter.hpp +5 -5
- package/worker/include/RTC/SCTP/packet/parameters/SupportedAddressTypesParameter.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/parameters/SupportedExtensionsParameter.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/parameters/UnknownParameter.hpp +2 -2
- package/worker/include/RTC/SCTP/packet/parameters/UnrecognizedParameterParameter.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/parameters/ZeroChecksumAcceptableParameter.hpp +7 -7
- package/worker/include/RTC/SCTP/public/AssociationInterface.hpp +7 -7
- package/worker/include/RTC/SCTP/public/AssociationListenerInterface.hpp +26 -26
- package/worker/include/RTC/SCTP/public/AssociationMetrics.hpp +7 -7
- package/worker/include/RTC/SCTP/public/Message.hpp +1 -1
- package/worker/include/RTC/SCTP/public/SctpOptions.hpp +4 -4
- package/worker/include/RTC/SCTP/public/SctpTypes.hpp +10 -10
- package/worker/include/RTC/SCTP/rx/DataTracker.hpp +1 -1
- package/worker/include/RTC/SCTP/rx/ReassemblyStreamsInterface.hpp +1 -1
- package/worker/include/RTC/SCTP/tx/OutstandingData.hpp +39 -39
- package/worker/include/RTC/SCTP/tx/RetransmissionErrorCounter.hpp +1 -1
- package/worker/include/RTC/SCTP/tx/RetransmissionQueue.hpp +14 -14
- package/worker/include/RTC/SCTP/tx/RoundRobinSendQueue.hpp +1 -1
- package/worker/include/RTC/SctpListener.hpp +2 -2
- package/worker/include/RTC/SimulcastConsumer.hpp +2 -1
- package/worker/include/RTC/TcpServer.hpp +3 -2
- package/worker/include/RTC/Transport.hpp +8 -8
- package/worker/include/RTC/UdpSocket.hpp +3 -2
- package/worker/include/RTC/WebRtcServer.hpp +4 -5
- package/worker/include/RTC/WebRtcTransport.hpp +2 -2
- package/worker/include/Settings.hpp +3 -3
- package/worker/include/Worker.hpp +3 -3
- package/worker/include/handles/TcpServerHandle.hpp +2 -2
- package/worker/meson.build +9 -4
- package/worker/mocks/include/Channel/MockChannelMessageRegistrator.hpp +4 -3
- package/worker/src/Channel/ChannelNotification.cpp +5 -4
- package/worker/src/Channel/ChannelRequest.cpp +9 -6
- package/worker/src/DepLibSRTP.cpp +1 -1
- package/worker/src/RTC/AudioLevelObserver.cpp +2 -2
- package/worker/src/RTC/DataConsumer.cpp +13 -3
- package/worker/src/RTC/DataProducer.cpp +1 -1
- package/worker/src/RTC/DtlsTransport.cpp +3 -3
- package/worker/src/RTC/ICE/IceServer.cpp +1 -1
- package/worker/src/RTC/ICE/StunPacket.cpp +77 -77
- package/worker/src/RTC/PipeTransport.cpp +5 -4
- package/worker/src/RTC/PlainTransport.cpp +9 -8
- package/worker/src/RTC/PortManager.cpp +174 -114
- package/worker/src/RTC/Producer.cpp +0 -1
- package/worker/src/RTC/RTCP/Feedback.cpp +6 -6
- package/worker/src/RTC/RTCP/FeedbackPs.cpp +1 -1
- package/worker/src/RTC/RTCP/FeedbackPsAfb.cpp +1 -1
- package/worker/src/RTC/RTCP/FeedbackPsPli.cpp +1 -1
- package/worker/src/RTC/RTCP/FeedbackPsRemb.cpp +2 -2
- package/worker/src/RTC/RTCP/FeedbackRtp.cpp +1 -1
- package/worker/src/RTC/RTCP/FeedbackRtpSrReq.cpp +1 -1
- package/worker/src/RTC/RTCP/FeedbackRtpTransport.cpp +2 -2
- package/worker/src/RTC/RTCP/Packet.cpp +2 -2
- package/worker/src/RTC/RTCP/Sdes.cpp +1 -1
- package/worker/src/RTC/RTP/Codecs/DependencyDescriptor.cpp +2 -1
- package/worker/src/RTC/RTP/Packet.cpp +68 -68
- package/worker/src/RTC/RTP/ProbationGenerator.cpp +3 -3
- package/worker/src/RTC/RTP/RtpStreamRecv.cpp +3 -3
- package/worker/src/RTC/RTP/RtxStream.cpp +2 -2
- package/worker/src/RTC/RTP/SharedPacket.cpp +4 -4
- package/worker/src/RTC/Router.cpp +5 -5
- package/worker/src/RTC/RtcLogger.cpp +1 -1
- package/worker/src/RTC/RtpDictionaries/RtpCodecMimeType.cpp +4 -4
- package/worker/src/RTC/RtpDictionaries/RtpParameters.cpp +2 -3
- package/worker/src/RTC/SCTP/association/Association.cpp +100 -97
- package/worker/src/RTC/SCTP/association/HeartbeatHandler.cpp +6 -6
- package/worker/src/RTC/SCTP/association/NegotiatedCapabilities.cpp +3 -3
- package/worker/src/RTC/SCTP/association/PacketSender.cpp +1 -1
- package/worker/src/RTC/SCTP/association/StreamResetHandler.cpp +2 -2
- package/worker/src/RTC/SCTP/association/TransmissionControlBlock.cpp +5 -5
- package/worker/src/RTC/SCTP/packet/Chunk.cpp +52 -52
- package/worker/src/RTC/SCTP/packet/ErrorCause.cpp +14 -14
- package/worker/src/RTC/SCTP/packet/Packet.cpp +17 -17
- package/worker/src/RTC/SCTP/packet/Parameter.cpp +17 -17
- package/worker/src/RTC/SCTP/packet/TLV.cpp +8 -8
- package/worker/src/RTC/SCTP/packet/chunks/AbortAssociationChunk.cpp +3 -3
- package/worker/src/RTC/SCTP/packet/chunks/CookieAckChunk.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/chunks/CookieEchoChunk.cpp +1 -1
- package/worker/src/RTC/SCTP/packet/chunks/DataChunk.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/chunks/ForwardTsnChunk.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/chunks/HeartbeatAckChunk.cpp +3 -3
- package/worker/src/RTC/SCTP/packet/chunks/HeartbeatRequestChunk.cpp +3 -3
- package/worker/src/RTC/SCTP/packet/chunks/IDataChunk.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/chunks/IForwardTsnChunk.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/chunks/InitAckChunk.cpp +4 -4
- package/worker/src/RTC/SCTP/packet/chunks/InitChunk.cpp +4 -4
- package/worker/src/RTC/SCTP/packet/chunks/OperationErrorChunk.cpp +3 -3
- package/worker/src/RTC/SCTP/packet/chunks/ReConfigChunk.cpp +3 -3
- package/worker/src/RTC/SCTP/packet/chunks/SackChunk.cpp +3 -3
- package/worker/src/RTC/SCTP/packet/chunks/ShutdownAckChunk.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/chunks/ShutdownChunk.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/chunks/ShutdownCompleteChunk.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/errorCauses/CookieReceivedWhileShuttingDownErrorCause.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/errorCauses/InvalidMandatoryParameterErrorCause.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/errorCauses/InvalidStreamIdentifierErrorCause.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/errorCauses/MissingMandatoryParameterErrorCause.cpp +4 -4
- package/worker/src/RTC/SCTP/packet/errorCauses/NoUserDataErrorCause.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/errorCauses/OutOfResourceErrorCause.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/errorCauses/ProtocolViolationErrorCause.cpp +1 -1
- package/worker/src/RTC/SCTP/packet/errorCauses/RestartOfAnAssociationWithNewAddressesErrorCause.cpp +1 -1
- package/worker/src/RTC/SCTP/packet/errorCauses/StaleCookieErrorCause.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/errorCauses/UnrecognizedChunkTypeErrorCause.cpp +1 -1
- package/worker/src/RTC/SCTP/packet/errorCauses/UnrecognizedParametersErrorCause.cpp +1 -1
- package/worker/src/RTC/SCTP/packet/errorCauses/UnresolvableAddressErrorCause.cpp +1 -1
- package/worker/src/RTC/SCTP/packet/errorCauses/UserInitiatedAbortErrorCause.cpp +1 -1
- package/worker/src/RTC/SCTP/packet/parameters/AddIncomingStreamsRequestParameter.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/parameters/AddOutgoingStreamsRequestParameter.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/parameters/CookiePreservativeParameter.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/parameters/ForwardTsnSupportedParameter.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/parameters/HeartbeatInfoParameter.cpp +1 -1
- package/worker/src/RTC/SCTP/packet/parameters/IPv4AddressParameter.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/parameters/IPv6AddressParameter.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/parameters/IncomingSsnResetRequestParameter.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/parameters/OutgoingSsnResetRequestParameter.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/parameters/ReconfigurationResponseParameter.cpp +3 -3
- package/worker/src/RTC/SCTP/packet/parameters/SsnTsnResetRequestParameter.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/parameters/StateCookieParameter.cpp +3 -3
- package/worker/src/RTC/SCTP/packet/parameters/SupportedAddressTypesParameter.cpp +3 -3
- package/worker/src/RTC/SCTP/packet/parameters/SupportedExtensionsParameter.cpp +1 -1
- package/worker/src/RTC/SCTP/packet/parameters/UnrecognizedParameterParameter.cpp +1 -1
- package/worker/src/RTC/SCTP/packet/parameters/ZeroChecksumAcceptableParameter.cpp +3 -3
- package/worker/src/RTC/SCTP/rx/InterleavedReassemblyStreams.cpp +1 -0
- package/worker/src/RTC/SCTP/rx/TraditionalReassemblyStreams.cpp +1 -0
- package/worker/src/RTC/SCTP/tx/OutstandingData.cpp +8 -8
- package/worker/src/RTC/SCTP/tx/RoundRobinSendQueue.cpp +1 -1
- package/worker/src/RTC/SvcConsumer.cpp +6 -2
- package/worker/src/RTC/TcpServer.cpp +4 -4
- package/worker/src/RTC/Transport.cpp +42 -19
- package/worker/src/RTC/UdpSocket.cpp +4 -4
- package/worker/src/RTC/WebRtcServer.cpp +8 -8
- package/worker/src/RTC/WebRtcTransport.cpp +9 -8
- package/worker/src/Settings.cpp +2 -2
- package/worker/src/lib.cpp +1 -2
- package/worker/subprojects/packagefiles/ankerl-unordered-dense/meson.build +5 -0
- package/worker/subprojects/unordered-dense.wrap +9 -0
- package/worker/tasks.py +293 -196
- package/worker/test/src/RTC/ICE/TestStunPacket.cpp +22 -22
- package/worker/test/src/RTC/ICE/iceCommon.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackRtpEcn.cpp +8 -8
- package/worker/test/src/RTC/RTCP/TestFeedbackRtpNack.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackRtpSrReq.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackRtpTllei.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackRtpTmmb.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestSenderReport.cpp +1 -1
- package/worker/test/src/RTC/RTP/TestPacket.cpp +26 -26
- package/worker/test/src/RTC/RTP/TestSharedPacket.cpp +1 -1
- package/worker/test/src/RTC/RTP/rtpCommon.cpp +1 -1
- package/worker/test/src/RTC/SCTP/association/TestNegotiatedCapabilities.cpp +4 -4
- package/worker/test/src/RTC/SCTP/packet/TestPacket.cpp +14 -14
- package/worker/test/src/RTC/SCTP/packet/chunks/TestAbortAssociationChunk.cpp +4 -4
- package/worker/test/src/RTC/SCTP/packet/chunks/TestCookieAckChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestCookieEchoChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestForwardTsnChunk.cpp +3 -3
- package/worker/test/src/RTC/SCTP/packet/chunks/TestHeartbeatAckChunk.cpp +3 -3
- package/worker/test/src/RTC/SCTP/packet/chunks/TestHeartbeatRequestChunk.cpp +9 -9
- package/worker/test/src/RTC/SCTP/packet/chunks/TestIDataChunk.cpp +2 -2
- package/worker/test/src/RTC/SCTP/packet/chunks/TestIForwardTsnChunk.cpp +3 -3
- package/worker/test/src/RTC/SCTP/packet/chunks/TestInitAckChunk.cpp +3 -3
- package/worker/test/src/RTC/SCTP/packet/chunks/TestInitChunk.cpp +8 -8
- package/worker/test/src/RTC/SCTP/packet/chunks/TestOperationErrorChunk.cpp +7 -7
- package/worker/test/src/RTC/SCTP/packet/chunks/TestReConfigChunk.cpp +6 -6
- package/worker/test/src/RTC/SCTP/packet/chunks/TestSackChunk.cpp +2 -2
- package/worker/test/src/RTC/SCTP/packet/chunks/TestShutdownAckChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestShutdownCompleteChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestUnknownChunk.cpp +2 -2
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestCookieReceivedWhileShuttingDownErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestInvalidMandatoryParameterErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestInvalidStreamIdentifierErrorCause.cpp +6 -6
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestMissingMandatoryParameterErrorCause.cpp +11 -11
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestNoUserDataErrorCause.cpp +6 -6
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestOutOfResourceErrorCause.cpp +5 -5
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestProtocolViolationErrorCause.cpp +2 -2
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestRestartOfAnAssociationWithNewAddressesErrorCause.cpp +2 -2
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestStaleCookieErrorCause.cpp +6 -6
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUnknownErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUnrecognizedChunkTypeErrorCause.cpp +2 -2
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUnrecognizedParametersErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUnresolvableAddressErrorCause.cpp +2 -2
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUserInitiatedAbortErrorCause.cpp +2 -2
- package/worker/test/src/RTC/SCTP/packet/parameters/TestAddIncomingStreamsRequestParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestAddOutgoingStreamsRequestParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestCookiePreservativeParameter.cpp +7 -7
- package/worker/test/src/RTC/SCTP/packet/parameters/TestForwardTsnSupportedParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestHeartbeatInfoParameter.cpp +2 -2
- package/worker/test/src/RTC/SCTP/packet/parameters/TestIPv4AddressParameter.cpp +7 -7
- package/worker/test/src/RTC/SCTP/packet/parameters/TestIPv6AddressParameter.cpp +7 -7
- package/worker/test/src/RTC/SCTP/packet/parameters/TestIncomingSsnResetRequestParameter.cpp +2 -2
- package/worker/test/src/RTC/SCTP/packet/parameters/TestOutgoingSsnResetRequestParameter.cpp +2 -2
- package/worker/test/src/RTC/SCTP/packet/parameters/TestReconfigurationResponseParameter.cpp +5 -5
- package/worker/test/src/RTC/SCTP/packet/parameters/TestSsnTsnResetRequestParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestStateCookieParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestSupportedAddressTypesParameter.cpp +6 -6
- package/worker/test/src/RTC/SCTP/packet/parameters/TestSupportedExtensionsParameter.cpp +3 -3
- package/worker/test/src/RTC/SCTP/packet/parameters/TestUnknownParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestUnrecognizedParameterParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestZeroChecksumAcceptableParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/sctpCommon.cpp +1 -1
- package/worker/test/src/RTC/SCTP/tx/TestOutstandingData.cpp +3 -3
- package/worker/test/src/RTC/SCTP/tx/TestRetransmissionQueue.cpp +1 -1
- package/worker/test/src/RTC/TestNackGenerator.cpp +1 -1
- package/worker/test/src/RTC/TestPortManager.cpp +126 -0
- package/worker/test/src/RTC/TestTransportCongestionControlServer.cpp +2 -2
- package/worker/test/src/RTC/TestTransportTuple.cpp +3 -2
- package/worker/test/src/Utils/TestCrypto.cpp +3 -3
- package/worker/test/src/Utils/TestString.cpp +1 -1
|
@@ -15,7 +15,7 @@ SCENARIO("Stale Cookie Error Cause (3)", "[serializable][sctp][errorcause]")
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Code:3 (
|
|
18
|
+
// Code:3 (STALE-COOKIE), Length: 8
|
|
19
19
|
0x00, 0x03, 0x00, 0x08,
|
|
20
20
|
// Measure of Staleness: 987654321
|
|
21
21
|
0x3A, 0xDE, 0x68, 0xB1,
|
|
@@ -91,11 +91,11 @@ SCENARIO("Stale Cookie Error Cause (3)", "[serializable][sctp][errorcause]")
|
|
|
91
91
|
|
|
92
92
|
REQUIRE(!RTC::SCTP::StaleCookieErrorCause::Parse(buffer1, sizeof(buffer1)));
|
|
93
93
|
|
|
94
|
-
// Wrong
|
|
94
|
+
// Wrong length field.
|
|
95
95
|
// clang-format off
|
|
96
96
|
alignas(4) uint8_t buffer2[] =
|
|
97
97
|
{
|
|
98
|
-
// Code:3 (
|
|
98
|
+
// Code:3 (STALE-COOKIE), Length: 7
|
|
99
99
|
0x00, 0x03, 0x00, 0x07,
|
|
100
100
|
// Measure of Staleness: 987654321
|
|
101
101
|
0x3A, 0xDE, 0x68,
|
|
@@ -104,11 +104,11 @@ SCENARIO("Stale Cookie Error Cause (3)", "[serializable][sctp][errorcause]")
|
|
|
104
104
|
|
|
105
105
|
REQUIRE(!RTC::SCTP::StaleCookieErrorCause::Parse(buffer2, sizeof(buffer2)));
|
|
106
106
|
|
|
107
|
-
// Wrong
|
|
107
|
+
// Wrong length field.
|
|
108
108
|
// clang-format off
|
|
109
109
|
alignas(4) uint8_t buffer3[] =
|
|
110
110
|
{
|
|
111
|
-
// Code:3 (
|
|
111
|
+
// Code:3 (STALE-COOKIE), Length: 9
|
|
112
112
|
0x00, 0x03, 0x00, 0x09,
|
|
113
113
|
// Measure of Staleness: 987654321
|
|
114
114
|
0x3A, 0xDE, 0x68, 0xB1,
|
|
@@ -122,7 +122,7 @@ SCENARIO("Stale Cookie Error Cause (3)", "[serializable][sctp][errorcause]")
|
|
|
122
122
|
// clang-format off
|
|
123
123
|
alignas(4) uint8_t buffer4[] =
|
|
124
124
|
{
|
|
125
|
-
// Code:3 (
|
|
125
|
+
// Code:3 (STALE-COOKIE), Length: 8
|
|
126
126
|
0x00, 0x03, 0x00, 0x08,
|
|
127
127
|
// Measure of Staleness (last byte missing)
|
|
128
128
|
0x3A, 0xDE, 0x68
|
|
@@ -15,7 +15,7 @@ SCENARIO("Unrecognized Chunk Type Error Cause (6)", "[serializable][sctp][errorc
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Code:6 (
|
|
18
|
+
// Code:6 (UNRECOGNIZED-CHUNK-TYPE), Length: 10
|
|
19
19
|
0x00, 0x06, 0x00, 0x0A,
|
|
20
20
|
// Unrecognized Chunk: 0x1234567890AB
|
|
21
21
|
0x12, 0x34, 0x56, 0x78,
|
|
@@ -126,7 +126,7 @@ SCENARIO("Unrecognized Chunk Type Error Cause (6)", "[serializable][sctp][errorc
|
|
|
126
126
|
// clang-format off
|
|
127
127
|
alignas(4) uint8_t buffer2[] =
|
|
128
128
|
{
|
|
129
|
-
// Code:6 (
|
|
129
|
+
// Code:6 (UNRECOGNIZED-CHUNK-TYPE), Length: 7
|
|
130
130
|
0x00, 0x06, 0x00, 0x07,
|
|
131
131
|
// Unrecognized Chunk: 0x123456 (missing padding byte)
|
|
132
132
|
0x12, 0x34, 0x56,
|
package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUnrecognizedParametersErrorCause.cpp
CHANGED
|
@@ -15,7 +15,7 @@ SCENARIO("Unrecognized Parameters Error Cause (8)", "[serializable][sctp][errorc
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Code:8 (
|
|
18
|
+
// Code:8 (UNRECOGNIZED-PARAMETERS), Length: 11
|
|
19
19
|
0x00, 0x08, 0x00, 0x0B,
|
|
20
20
|
// Unrecognized Parameters: 0x1234567890ABCD
|
|
21
21
|
0x12, 0x34, 0x56, 0x78,
|
|
@@ -15,7 +15,7 @@ SCENARIO("Unresolvable Address Error Cause (5)", "[serializable][sctp][errorcaus
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Code:5 (
|
|
18
|
+
// Code:5 (UNRESOLVABLE-ADDRESS), Length: 9
|
|
19
19
|
0x00, 0x05, 0x00, 0x09,
|
|
20
20
|
// Unresolvable Address: 0x1234567890
|
|
21
21
|
0x12, 0x34, 0x56, 0x78,
|
|
@@ -126,7 +126,7 @@ SCENARIO("Unresolvable Address Error Cause (5)", "[serializable][sctp][errorcaus
|
|
|
126
126
|
// clang-format off
|
|
127
127
|
alignas(4) uint8_t buffer2[] =
|
|
128
128
|
{
|
|
129
|
-
// Code:5 (
|
|
129
|
+
// Code:5 (UNRESOLVABLE-ADDRESS), Length: 7
|
|
130
130
|
0x00, 0x05, 0x00, 0x07,
|
|
131
131
|
// Unresolvable Address: 0x123456 (missing padding byte)
|
|
132
132
|
0x12, 0x34, 0x56,
|
|
@@ -15,7 +15,7 @@ SCENARIO("User-Initiated Abort Error Cause (12)", "[serializable][sctp][errorcau
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Code:12 (
|
|
18
|
+
// Code:12 (USER-INITIATED-ABORT), Length: 10
|
|
19
19
|
0x00, 0x0C, 0x00, 0x0A,
|
|
20
20
|
// Upper Layer Abort Reason: "I DIE!"
|
|
21
21
|
0x49, 0x20, 0x44, 0x49,
|
|
@@ -99,7 +99,7 @@ SCENARIO("User-Initiated Abort Error Cause (12)", "[serializable][sctp][errorcau
|
|
|
99
99
|
// clang-format off
|
|
100
100
|
alignas(4) uint8_t buffer2[] =
|
|
101
101
|
{
|
|
102
|
-
// Code:12 (
|
|
102
|
+
// Code:12 (USER-INITIATED-ABORT), Length: 7
|
|
103
103
|
0x00, 0x0C, 0x00, 0x07,
|
|
104
104
|
// Upper Layer Abort Reason: 0x123456 (missing padding byte)
|
|
105
105
|
0x12, 0x34, 0x56,
|
package/worker/test/src/RTC/SCTP/packet/parameters/TestAddIncomingStreamsRequestParameter.cpp
CHANGED
|
@@ -15,7 +15,7 @@ SCENARIO("Add Incoming Streams Request Parameter (18)", "[serializable][sctp][pa
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Type:18 (
|
|
18
|
+
// Type:18 (ADD-INCOMING-STREAMS-REQUEST), Length: 12
|
|
19
19
|
0x00, 0x12, 0x00, 0x0C,
|
|
20
20
|
// Re-configuration Request Sequence Number: 666777888
|
|
21
21
|
0x27, 0xBE, 0x39, 0x20,
|
package/worker/test/src/RTC/SCTP/packet/parameters/TestAddOutgoingStreamsRequestParameter.cpp
CHANGED
|
@@ -15,7 +15,7 @@ SCENARIO("Add Outgoing Streams Request Parameter (17)", "[serializable][sctp][pa
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Type:17 (
|
|
18
|
+
// Type:17 (ADD-OUTGOING-STREAMS-REQUEST), Length: 12
|
|
19
19
|
0x00, 0x11, 0x00, 0x0C,
|
|
20
20
|
// Re-configuration Request Sequence Number: 666777888
|
|
21
21
|
0x27, 0xBE, 0x39, 0x20,
|
|
@@ -15,7 +15,7 @@ SCENARIO("Cookie Preservative Parameter (9)", "[serializable][sctp][parameter]")
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Type:9 (
|
|
18
|
+
// Type:9 (COOKIE-PRESERVATIVE), Length: 8
|
|
19
19
|
0x00, 0x09, 0x00, 0x08,
|
|
20
20
|
// Suggested Cookie Life-Span Increment: 4278194466
|
|
21
21
|
0xFF, 0x00, 0x11, 0x22,
|
|
@@ -83,7 +83,7 @@ SCENARIO("Cookie Preservative Parameter (9)", "[serializable][sctp][parameter]")
|
|
|
83
83
|
// clang-format off
|
|
84
84
|
alignas(4) uint8_t buffer1[] =
|
|
85
85
|
{
|
|
86
|
-
// Type:9 (
|
|
86
|
+
// Type:9 (IPV6-ADDRESS), Length: 8
|
|
87
87
|
0x00, 0x06, 0x00, 0x08,
|
|
88
88
|
// Suggested Cookie Life-Span Increment: 4278194466
|
|
89
89
|
0xFF, 0x00, 0x11, 0x22,
|
|
@@ -92,11 +92,11 @@ SCENARIO("Cookie Preservative Parameter (9)", "[serializable][sctp][parameter]")
|
|
|
92
92
|
|
|
93
93
|
REQUIRE(!RTC::SCTP::CookiePreservativeParameter::Parse(buffer1, sizeof(buffer1)));
|
|
94
94
|
|
|
95
|
-
// Wrong
|
|
95
|
+
// Wrong length field.
|
|
96
96
|
// clang-format off
|
|
97
97
|
alignas(4) uint8_t buffer2[] =
|
|
98
98
|
{
|
|
99
|
-
// Type:9 (
|
|
99
|
+
// Type:9 (COOKIE-PRESERVATIVE), Length: 7
|
|
100
100
|
0x00, 0x09, 0x00, 0x07,
|
|
101
101
|
// Suggested Cookie Life-Span Increment: 4278194466
|
|
102
102
|
0xFF, 0x00, 0x11, 0x22,
|
|
@@ -105,11 +105,11 @@ SCENARIO("Cookie Preservative Parameter (9)", "[serializable][sctp][parameter]")
|
|
|
105
105
|
|
|
106
106
|
REQUIRE(!RTC::SCTP::CookiePreservativeParameter::Parse(buffer2, sizeof(buffer2)));
|
|
107
107
|
|
|
108
|
-
// Wrong
|
|
108
|
+
// Wrong length field.
|
|
109
109
|
// clang-format off
|
|
110
110
|
alignas(4) uint8_t buffer3[] =
|
|
111
111
|
{
|
|
112
|
-
// Type:9 (
|
|
112
|
+
// Type:9 (COOKIE-PRESERVATIVE), Length: 9
|
|
113
113
|
0x00, 0x09, 0x00, 0x09,
|
|
114
114
|
// Suggested Cookie Life-Span Increment: 4278194466
|
|
115
115
|
0xFF, 0x00, 0x11, 0x22,
|
|
@@ -123,7 +123,7 @@ SCENARIO("Cookie Preservative Parameter (9)", "[serializable][sctp][parameter]")
|
|
|
123
123
|
// clang-format off
|
|
124
124
|
alignas(4) uint8_t buffer4[] =
|
|
125
125
|
{
|
|
126
|
-
// Type:5 (
|
|
126
|
+
// Type:5 (IPV4-ADDRESS), Length: 8
|
|
127
127
|
0x00, 0x05, 0x00, 0x08,
|
|
128
128
|
// Suggested Cookie Life-Span Increment (wrong length)
|
|
129
129
|
0xAA, 0xBB, 0xCC
|
|
@@ -14,7 +14,7 @@ SCENARIO("Forward-TSN-Supported Parameter (32769)", "[serializable][sctp][parame
|
|
|
14
14
|
// clang-format off
|
|
15
15
|
alignas(4) uint8_t buffer[] =
|
|
16
16
|
{
|
|
17
|
-
// Type:49152 (
|
|
17
|
+
// Type:49152 (FORWARD-TSN-SUPPORTED), Length: 4
|
|
18
18
|
0xC0, 0x00, 0x00, 0x04,
|
|
19
19
|
// Extra bytes that should be ignored
|
|
20
20
|
0xAA, 0xBB, 0xCC, 0xDD,
|
|
@@ -118,7 +118,7 @@ SCENARIO("Heartbeat Info Parameter (1)", "[serializable][sctp][parameter]")
|
|
|
118
118
|
// clang-format off
|
|
119
119
|
alignas(4) uint8_t buffer1[] =
|
|
120
120
|
{
|
|
121
|
-
// Type:6 (
|
|
121
|
+
// Type:6 (IPV6-ADDRESS), Length: 8
|
|
122
122
|
0x00, 0x06, 0x00, 0x0B,
|
|
123
123
|
// Heartbeat Information (7 bytes): 0x11223344556677
|
|
124
124
|
0x11, 0x22, 0x33, 0x44,
|
|
@@ -129,7 +129,7 @@ SCENARIO("Heartbeat Info Parameter (1)", "[serializable][sctp][parameter]")
|
|
|
129
129
|
|
|
130
130
|
REQUIRE(!RTC::SCTP::HeartbeatInfoParameter::Parse(buffer1, sizeof(buffer1)));
|
|
131
131
|
|
|
132
|
-
// Wrong
|
|
132
|
+
// Wrong length field.
|
|
133
133
|
// clang-format off
|
|
134
134
|
alignas(4) uint8_t buffer2[] =
|
|
135
135
|
{
|
|
@@ -15,7 +15,7 @@ SCENARIO("IPv4 Adress Parameter (5)", "[serializable][sctp][parameter]")
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Type:5 (
|
|
18
|
+
// Type:5 (IPV4-ADDRESS), Length: 8
|
|
19
19
|
0x00, 0x05, 0x00, 0x08,
|
|
20
20
|
// IPv4 Address: "1.2.3.4"
|
|
21
21
|
0x01, 0x02, 0x03, 0x04,
|
|
@@ -94,7 +94,7 @@ SCENARIO("IPv4 Adress Parameter (5)", "[serializable][sctp][parameter]")
|
|
|
94
94
|
// clang-format off
|
|
95
95
|
alignas(4) uint8_t buffer1[] =
|
|
96
96
|
{
|
|
97
|
-
// Type:6 (
|
|
97
|
+
// Type:6 (IPV6-ADDRESS), Length: 8
|
|
98
98
|
0x00, 0x06, 0x00, 0x08,
|
|
99
99
|
// IPv4 Address: 0xAABBCCDD
|
|
100
100
|
0xAA, 0xBB, 0xCC, 0xDD
|
|
@@ -103,11 +103,11 @@ SCENARIO("IPv4 Adress Parameter (5)", "[serializable][sctp][parameter]")
|
|
|
103
103
|
|
|
104
104
|
REQUIRE(!RTC::SCTP::IPv4AddressParameter::Parse(buffer1, sizeof(buffer1)));
|
|
105
105
|
|
|
106
|
-
// Wrong
|
|
106
|
+
// Wrong length field.
|
|
107
107
|
// clang-format off
|
|
108
108
|
alignas(4) uint8_t buffer2[] =
|
|
109
109
|
{
|
|
110
|
-
// Type:5 (
|
|
110
|
+
// Type:5 (IPV4-ADDRESS), Length: 7
|
|
111
111
|
0x00, 0x05, 0x00, 0x07,
|
|
112
112
|
// IPv4 Address: 0xAABBCC
|
|
113
113
|
0xAA, 0xBB, 0xCC
|
|
@@ -116,11 +116,11 @@ SCENARIO("IPv4 Adress Parameter (5)", "[serializable][sctp][parameter]")
|
|
|
116
116
|
|
|
117
117
|
REQUIRE(!RTC::SCTP::IPv4AddressParameter::Parse(buffer2, sizeof(buffer2)));
|
|
118
118
|
|
|
119
|
-
// Wrong
|
|
119
|
+
// Wrong length field.
|
|
120
120
|
// clang-format off
|
|
121
121
|
alignas(4) uint8_t buffer3[] =
|
|
122
122
|
{
|
|
123
|
-
// Type:5 (
|
|
123
|
+
// Type:5 (IPV4-ADDRESS), Length: 9
|
|
124
124
|
0x00, 0x05, 0x00, 0x09,
|
|
125
125
|
// IPv4 Address: 0xAABBCCDD
|
|
126
126
|
0xAA, 0xBB, 0xCC, 0xDD,
|
|
@@ -134,7 +134,7 @@ SCENARIO("IPv4 Adress Parameter (5)", "[serializable][sctp][parameter]")
|
|
|
134
134
|
// clang-format off
|
|
135
135
|
alignas(4) uint8_t buffer4[] =
|
|
136
136
|
{
|
|
137
|
-
// Type:5 (
|
|
137
|
+
// Type:5 (IPV4-ADDRESS), Length: 8
|
|
138
138
|
0x00, 0x05, 0x00, 0x08,
|
|
139
139
|
// IPv4 Address (wrong length)
|
|
140
140
|
0xAA, 0xBB, 0xCC
|
|
@@ -15,7 +15,7 @@ SCENARIO("IPv6 Adress Parameter (6)", "[serializable][sctp][parameter]")
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Type:6 (
|
|
18
|
+
// Type:6 (IPV6-ADDRESS), Length: 20
|
|
19
19
|
0x00, 0x06, 0x00, 0x14,
|
|
20
20
|
// IPv6 Address: "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
|
|
21
21
|
0x20, 0x01, 0x0D, 0xB8,
|
|
@@ -98,7 +98,7 @@ SCENARIO("IPv6 Adress Parameter (6)", "[serializable][sctp][parameter]")
|
|
|
98
98
|
// clang-format off
|
|
99
99
|
alignas(4) uint8_t buffer1[] =
|
|
100
100
|
{
|
|
101
|
-
// Type:5 (
|
|
101
|
+
// Type:5 (IPV4-ADDRESS), Length: 20
|
|
102
102
|
0x00, 0x05, 0x00, 0x14,
|
|
103
103
|
// IPv6 Address: "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
|
|
104
104
|
0x20, 0x01, 0x0D, 0xB8,
|
|
@@ -110,11 +110,11 @@ SCENARIO("IPv6 Adress Parameter (6)", "[serializable][sctp][parameter]")
|
|
|
110
110
|
|
|
111
111
|
REQUIRE(!RTC::SCTP::IPv6AddressParameter::Parse(buffer1, sizeof(buffer1)));
|
|
112
112
|
|
|
113
|
-
// Wrong
|
|
113
|
+
// Wrong length field.
|
|
114
114
|
// clang-format off
|
|
115
115
|
alignas(4) uint8_t buffer2[] =
|
|
116
116
|
{
|
|
117
|
-
// Type:6 (
|
|
117
|
+
// Type:6 (IPV6-ADDRESS), Length: 19
|
|
118
118
|
0x00, 0x06, 0x00, 0x14,
|
|
119
119
|
// IPv6 Address: "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
|
|
120
120
|
0x20, 0x01, 0x0D, 0xB8,
|
|
@@ -126,11 +126,11 @@ SCENARIO("IPv6 Adress Parameter (6)", "[serializable][sctp][parameter]")
|
|
|
126
126
|
|
|
127
127
|
REQUIRE(!RTC::SCTP::IPv6AddressParameter::Parse(buffer2, sizeof(buffer2)));
|
|
128
128
|
|
|
129
|
-
// Wrong
|
|
129
|
+
// Wrong length field.
|
|
130
130
|
// clang-format off
|
|
131
131
|
alignas(4) uint8_t buffer3[] =
|
|
132
132
|
{
|
|
133
|
-
// Type:6 (
|
|
133
|
+
// Type:6 (IPV6-ADDRESS), Length: 21
|
|
134
134
|
0x00, 0x06, 0x00, 0x15,
|
|
135
135
|
// IPv6 Address: "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
|
|
136
136
|
0x20, 0x01, 0x0D, 0xB8,
|
|
@@ -147,7 +147,7 @@ SCENARIO("IPv6 Adress Parameter (6)", "[serializable][sctp][parameter]")
|
|
|
147
147
|
// clang-format off
|
|
148
148
|
alignas(4) uint8_t buffer4[] =
|
|
149
149
|
{
|
|
150
|
-
// Type:6 (
|
|
150
|
+
// Type:6 (IPV6-ADDRESS), Length: 20
|
|
151
151
|
0x00, 0x06, 0x00, 0x14,
|
|
152
152
|
// IPv6 Address (wrong length)
|
|
153
153
|
0x20, 0x01, 0x0D, 0xB8,
|
|
@@ -16,11 +16,11 @@ SCENARIO("Incoming SSN Reset Request Parameter (14)", "[serializable][sctp][para
|
|
|
16
16
|
// clang-format off
|
|
17
17
|
alignas(4) uint8_t buffer[] =
|
|
18
18
|
{
|
|
19
|
-
// Type:14 (
|
|
19
|
+
// Type:14 (INCOMING-SSN-RESET-REQUEST), Length: 14
|
|
20
20
|
0x00, 0x0E, 0x00, 0x0E,
|
|
21
21
|
// Re-configuration Request Sequence Number: 0x11223344
|
|
22
22
|
0x11, 0x22, 0x33, 0x44,
|
|
23
|
-
// Stream 1: 0x5001,
|
|
23
|
+
// Stream 1: 0x5001, stream 2: 0x5002
|
|
24
24
|
0x50, 0x01, 0x50, 0x02,
|
|
25
25
|
// Stream 3: 0x5003, 2 bytes of padding
|
|
26
26
|
0x50, 0x03, 0x00, 0x00,
|
|
@@ -16,7 +16,7 @@ SCENARIO("Outgoing SSN Reset Request Parameter (13)", "[serializable][sctp][para
|
|
|
16
16
|
// clang-format off
|
|
17
17
|
alignas(4) uint8_t buffer[] =
|
|
18
18
|
{
|
|
19
|
-
// Type:13 (
|
|
19
|
+
// Type:13 (OUTGOING-SSN-RESET-REQUEST), Length: 22
|
|
20
20
|
0x00, 0x0D, 0x00, 0x16,
|
|
21
21
|
// Re-configuration Request Sequence Number: 0x11223344
|
|
22
22
|
0x11, 0x22, 0x33, 0x44,
|
|
@@ -24,7 +24,7 @@ SCENARIO("Outgoing SSN Reset Request Parameter (13)", "[serializable][sctp][para
|
|
|
24
24
|
0x55, 0x66, 0x77, 0x88,
|
|
25
25
|
// Sender's Last Assigned TSN: 0xAABBCCDD
|
|
26
26
|
0xAA, 0xBB, 0xCC, 0xDD,
|
|
27
|
-
// Stream 1: 0x5001,
|
|
27
|
+
// Stream 1: 0x5001, stream 2: 0x5002
|
|
28
28
|
0x50, 0x01, 0x50, 0x02,
|
|
29
29
|
// Stream 3: 0x5003, 2 bytes of padding
|
|
30
30
|
0x50, 0x03, 0x00, 0x00,
|
|
@@ -15,7 +15,7 @@ SCENARIO("Re-configuration Response Parameter (16)", "[serializable][sctp][param
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Type:16 (
|
|
18
|
+
// Type:16 (RECONFIGURATION-RESPONSE), Length: 20
|
|
19
19
|
0x00, 0x10, 0x00, 0x14,
|
|
20
20
|
// Re-configuration Request Sequence Number: 287454020
|
|
21
21
|
0x11, 0x22, 0x33, 0x44,
|
|
@@ -106,7 +106,7 @@ SCENARIO("Re-configuration Response Parameter (16)", "[serializable][sctp][param
|
|
|
106
106
|
// clang-format off
|
|
107
107
|
alignas(4) uint8_t buffer[] =
|
|
108
108
|
{
|
|
109
|
-
// Type:16 (
|
|
109
|
+
// Type:16 (RECONFIGURATION-RESPONSE), Length: 12
|
|
110
110
|
0x00, 0x10, 0x00, 0x0C,
|
|
111
111
|
// Re-configuration Request Sequence Number: 3333333333
|
|
112
112
|
0xC6, 0xAE, 0xA1, 0x55,
|
|
@@ -186,11 +186,11 @@ SCENARIO("Re-configuration Response Parameter (16)", "[serializable][sctp][param
|
|
|
186
186
|
|
|
187
187
|
SECTION("ReconfigurationResponseParameter::Parse() fails")
|
|
188
188
|
{
|
|
189
|
-
// Wrong
|
|
189
|
+
// Wrong length field.
|
|
190
190
|
// clang-format off
|
|
191
191
|
alignas(4) uint8_t buffer1[] =
|
|
192
192
|
{
|
|
193
|
-
// Type:16 (
|
|
193
|
+
// Type:16 (RECONFIGURATION-RESPONSE), Length: 16 (should be 12 or 20)
|
|
194
194
|
0x00, 0x10, 0x00, 0x10,
|
|
195
195
|
// Re-configuration Request Sequence Number: 287454020
|
|
196
196
|
0x11, 0x22, 0x33, 0x44,
|
|
@@ -209,7 +209,7 @@ SCENARIO("Re-configuration Response Parameter (16)", "[serializable][sctp][param
|
|
|
209
209
|
// clang-format off
|
|
210
210
|
alignas(4) uint8_t buffer2[] =
|
|
211
211
|
{
|
|
212
|
-
// Type:16 (
|
|
212
|
+
// Type:16 (RECONFIGURATION-RESPONSE), Length: 20
|
|
213
213
|
0x00, 0x10, 0x00, 0x14,
|
|
214
214
|
// Re-configuration Request Sequence Number: 287454020
|
|
215
215
|
0x11, 0x22, 0x33, 0x44,
|
|
@@ -15,7 +15,7 @@ SCENARIO("SSN/TSN Reset Request Parameter (15)", "[serializable][sctp][parameter
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Type:15 (
|
|
18
|
+
// Type:15 (SSN-TSN-RESET-REQUEST), Length: 8
|
|
19
19
|
0x00, 0x0F, 0x00, 0x08,
|
|
20
20
|
// Re-configuration Request Sequence Number: 666777888
|
|
21
21
|
0x27, 0xBE, 0x39, 0x20,
|
|
@@ -17,7 +17,7 @@ SCENARIO("State Cookie Parameter (7)", "[serializable][sctp][parameter]")
|
|
|
17
17
|
// clang-format off
|
|
18
18
|
alignas(4) uint8_t buffer[] =
|
|
19
19
|
{
|
|
20
|
-
// Type:7 (
|
|
20
|
+
// Type:7 (STATE-COOKIE), Length: 7
|
|
21
21
|
0x00, 0x07, 0x00, 0x07,
|
|
22
22
|
// Cookie: 0xDDCCEE, 1 byte of padding
|
|
23
23
|
0xDD, 0xCC, 0xEE, 0x00,
|
|
@@ -15,11 +15,11 @@ SCENARIO("Supported Address Types Parameter (12)", "[serializable][sctp][paramet
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Type:12 (
|
|
18
|
+
// Type:12 (SUPPORTED-ADDRESS-TYPES), Length: 10
|
|
19
19
|
0x00, 0x0C, 0x00, 0x0A,
|
|
20
|
-
// Address
|
|
20
|
+
// Address type 1: 0x1001, Address Type 2: 0x2002
|
|
21
21
|
0x10, 0x01, 0x20, 0x02,
|
|
22
|
-
// Address
|
|
22
|
+
// Address type 3: 0x3003, 2 bytes of padding
|
|
23
23
|
0x30, 0x03, 0x00, 0x00,
|
|
24
24
|
// Extra bytes that should be ignored
|
|
25
25
|
0xAA, 0xBB, 0xCC
|
|
@@ -90,13 +90,13 @@ SCENARIO("Supported Address Types Parameter (12)", "[serializable][sctp][paramet
|
|
|
90
90
|
|
|
91
91
|
SECTION("SupportedAddressTypesParameter::Parse() fails")
|
|
92
92
|
{
|
|
93
|
-
// Wrong
|
|
93
|
+
// Wrong length field (not even).
|
|
94
94
|
// clang-format off
|
|
95
95
|
alignas(4) uint8_t buffer1[] =
|
|
96
96
|
{
|
|
97
|
-
// Type:12 (
|
|
97
|
+
// Type:12 (SUPPORTED-ADDRESS-TYPES), Length: 7
|
|
98
98
|
0x00, 0x0C, 0x00, 0x0A,
|
|
99
|
-
// Address
|
|
99
|
+
// Address type 1: 0x1001, Address Type 2: 0x2002
|
|
100
100
|
0x10, 0x01, 0x20, 0x02,
|
|
101
101
|
};
|
|
102
102
|
// clang-format on
|
|
@@ -16,10 +16,10 @@ SCENARIO("Supported Extensions Parameter (32776)", "[serializable][sctp][paramet
|
|
|
16
16
|
// clang-format off
|
|
17
17
|
alignas(4) uint8_t buffer[] =
|
|
18
18
|
{
|
|
19
|
-
// Type:32776 (
|
|
19
|
+
// Type:32776 (SUPPORTED-EXTENSIONS), Length: 7
|
|
20
20
|
0x80, 0x08, 0x00, 0x07,
|
|
21
|
-
// Chunk
|
|
22
|
-
//
|
|
21
|
+
// Chunk type 1: RE-CONFIG (0x82), chunk type 2: ECNE (0x0C),
|
|
22
|
+
// chunk type 3: UNKNOWN (0x42), 1 byte of padding
|
|
23
23
|
0x82, 0x0C, 0x42, 0x00,
|
|
24
24
|
// Extra bytes that should be ignored
|
|
25
25
|
0xAA, 0xBB, 0xCC
|
|
@@ -15,7 +15,7 @@ SCENARIO("Unrecognized Parameter Parameter (7)", "[serializable][sctp][parameter
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Type:8 (
|
|
18
|
+
// Type:8 (UNRECOGNIZED-PARAMETER), Length: 7
|
|
19
19
|
0x00, 0x08, 0x00, 0x07,
|
|
20
20
|
// Unrecognized Parameter: 0xDDCCEE, 1 byte of padding
|
|
21
21
|
0xDD, 0xCC, 0xEE, 0x00,
|
|
@@ -15,7 +15,7 @@ SCENARIO("Zero Checksum Acceptable Parameter (32769)", "[serializable][sctp][par
|
|
|
15
15
|
// clang-format off
|
|
16
16
|
alignas(4) uint8_t buffer[] =
|
|
17
17
|
{
|
|
18
|
-
// Type:32769 (
|
|
18
|
+
// Type:32769 (ZERO-CHECKSUM-ACCEPTABLE), Length: 8
|
|
19
19
|
0x80, 0x01, 0x00, 0x08,
|
|
20
20
|
// Alternate Error Detection Method (EDMID) : 0x0001
|
|
21
21
|
0x00, 0x00, 0x00, 0x01,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
namespace sctpCommon
|
|
5
5
|
{
|
|
6
|
-
// NOTE: Buffers must be 4-byte aligned since SCTP
|
|
6
|
+
// NOTE: Buffers must be 4-byte aligned since SCTP packet parsing casts them
|
|
7
7
|
// to structs that require 4-byte alignment. Without this, accessing multi-byte
|
|
8
8
|
// fields would be undefined behavior on strict-alignment architectures.
|
|
9
9
|
alignas(4) thread_local uint8_t FactoryBuffer[];
|
|
@@ -966,9 +966,9 @@ SCENARIO("SCTP OutstandingData", "[sctp][outstandingdata]")
|
|
|
966
966
|
SECTION("generates Forward-TSN until next stream reset TSN")
|
|
967
967
|
{
|
|
968
968
|
// This test generates:
|
|
969
|
-
// *
|
|
970
|
-
// *
|
|
971
|
-
// *
|
|
969
|
+
// * stream 1: TSN 10, 11, 12 <RESET>
|
|
970
|
+
// * stream 2: TSN 13, 14 <RESET>
|
|
971
|
+
// * stream 3: TSN 15, 16
|
|
972
972
|
//
|
|
973
973
|
// Then it expires chunk 12-15, and ensures that the generated FORWARD-TSN
|
|
974
974
|
// only includes up till TSN 12 until the cum ack TSN has reached 12, and
|
|
@@ -1290,7 +1290,7 @@ SCENARIO("SCTP RetransmissionQueue", "[sctp][retransmissionqueue]")
|
|
|
1290
1290
|
getSentPacketTSNs(retransmissionQueue) ==
|
|
1291
1291
|
std::vector<uint32_t>{ 10, 11, 12, 13, 14, 15, 16, 17 });
|
|
1292
1292
|
|
|
1293
|
-
// Ack 9, 20-25. This is an invalid SACK
|
|
1293
|
+
// Ack 9, 20-25. This is an invalid SACK chunk, but should still be handled.
|
|
1294
1294
|
retransmissionQueue.HandleReceivedSackChunk(
|
|
1295
1295
|
nowMs,
|
|
1296
1296
|
createSackChunk(
|