W3C home > Mailing lists > Public > public-webrtc@w3.org > July 2017

[webrtc-pc] transactionId validation for get/set parameters should have more consistent definition

From: Soares Chen via GitHub <sysbot+gh@w3.org>
Date: Mon, 17 Jul 2017 04:15:34 +0000
To: public-webrtc@w3.org
Message-ID: <issues.opened-243293655-1500264932-sysbot+gh@w3.org>
soareschen has just created a new issue for https://github.com/w3c/webrtc-pc:

== transactionId validation for get/set parameters should have more consistent definition ==
Currently the steps are as follows:

> getParameters
> - transactionId is set to a new unique identifier, used to match this getParameters call to a setParameters call that may occur later. 

> setParameters
> 7. If parameters.encodings.length is different from N, or if any parameter in the parameters argument, marked as a Read-only parameter, has a value that is different from the corresponding parameter value returned from sender.getParameters(), abort these steps and return a promise rejected with a newly created InvalidModificationError. Note that this also applies to transactionId.
> 10. Set sender's internal transactionId slot to a previously unused value.

The specified rules have not been very consistent:

- `getParameters()` does not store `transactionId` to any internal slot.
- `setParameters()` says `transactionId` validation is applied the way same as `parameters.encodings`, but the field is outside of `paramters.encodings`.
- `setParameters()` set `transactionId` to a new value, but that is overridden again when calling `getParameters()`.

To fix this, a proper internal slot should be defined and transactionId validation in `setParameters()` should be done in separate steps.

Please view or discuss this issue at https://github.com/w3c/webrtc-pc/issues/1488 using your GitHub account
Received on Monday, 17 July 2017 04:15:42 UTC

This archive was generated by hypermail 2.3.1 : Monday, 23 October 2017 15:19:51 UTC