Opened 5 months ago

Closed 4 months ago

#32870 closed task (fixed)

Bump version of pion webrtc in Tor Browser

Reported by: cohosh Owned by: cohosh
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: TorBrowserTeam202001R
Cc: arlolra, cohosh, phw, dcf, boklm Actual Points: .7
Parent ID: #31971 Points: 1
Reviewer: boklm Sponsor: Sponsor28

Description

It's time to update the pion webrtc library used by Snowflake. There have been some security updates since v2.1.3, and we suspect this will solve some issues on windows.

We'll have to use the method outlined by dcf in #28942 since we don't have go module support yet in rbm.

Child Tickets

Change History (9)

comment:1 Changed 5 months ago by cohosh

Status: assignedneeds_review

Here's a commit to update the version of pion-webrtc to v2.1.18 e8ef590cd1

The use of the script from #28942 was actually relatively painless as most of the work has already been done and all that was left was add a few new projects and update the hashes of existing ones.

I did make a small adjustment to script to account for a new versioning scheme used by pion-dtls. I just added another regex pattern to tuple():

    def tuple(self):
        m = re.match(r'^v([0-9]+)\.([0-9]+)\.([0-9]+)-(?:0\.)?([0-9]+)-([0-9a-fA-F]+)$', self.version)
        if m:
            g = m.groups()
            return int(g[0]), int(g[1]), int(g[2]), g[3], g[4]
        m = re.match(r'^v([0-9]+)\.([0-9]+)\.([0-9]+-rc\.[0-9]+)$', self.version)
        if m:
            g = m.groups()
            return int(g[0]), int(g[1]), g[2], "", ""
        m = re.match(r'^v([0-9]+)\.([0-9]+)\.([0-9]+)$', self.version)
        if m:
            g = m.groups()
            return int(g[0]), int(g[1]), int(g[2]), "", ""
        assert False, self.version

I then ran

$ checkout v2.1.18
$ go mod graph | ./gomodtorbm

and copied the staging directory to tor-browser-build/.

There were a few touchups needed to remove extraneous projects and expand the versions into git commit hashes.

comment:2 Changed 5 months ago by cohosh

Actual Points: .7

comment:3 Changed 5 months ago by cohosh

Component: Circumvention/SnowflakeApplications/Tor Browser

Switching components so the Tor Browser team know to look at this.

comment:4 Changed 5 months ago by gk

Keywords: TorBrowserTeam202001R added

comment:5 Changed 4 months ago by sysrqb

Cc: boklm added

I skimmed through the patch, and I don't see anything obviously wrong. boklm, please take a look if you have a chance, otherwise I'll probably test it locally and then merge it.

https://gitweb.torproject.org/user/cohosh/tor-browser-build.git/commit/?h=pion-update&id=94477bee9250f33208e837d8021712e8ef590cd1

cohosh, if you can include the ticket number in the git branch name and in the commit message in the future, that'll be helpful.

comment:7 in reply to:  5 ; Changed 4 months ago by boklm

Replying to sysrqb:

I skimmed through the patch, and I don't see anything obviously wrong. boklm, please take a look if you have a chance, otherwise I'll probably test it locally and then merge it.

After skimming through the patch it looks good to me too.

I will try running dcf's script to see if I get the same result.

comment:8 Changed 4 months ago by boklm

Reviewer: boklm

comment:9 in reply to:  7 Changed 4 months ago by boklm

Resolution: fixed
Status: needs_reviewclosed

Replying to boklm:

I will try running dcf's script to see if I get the same result.

After using the script and comparing with the result I get, the changes from this commit look good to me. So I merged it to master with commit af8affa4bfb0c1cea943de716ce64da7c5d2d146.

Note: See TracTickets for help on using tickets.