Opened 8 years ago

Closed 8 years ago

#5122 closed defect (not a bug)

bridge lines with commas in them will go poorly

Reported by: arma Owned by: chiiph
Priority: Medium Milestone:
Component: Archived/Vidalia Version:
Severity: Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


Tor proposal 180 says

    SMETHOD <methodname> <address:port> [options]

  The 'address:port' part of an SMETHOD line is the address to put
  in the bridge line.  The Options part is a list of space-separated
  K:V flags that Tor should know about.  Recognized options are:

      - FORWARD:1

        If this option is set (for example, because address:port is not
        a publicly accessible address), then Tor needs to forward some
        other address:port to address:port via upnp-helper. Tor would
        then advertise that other address:port in the bridge line instead.

      - ARGS:K=V,K=V,K=V

        If this option is set, the K=V arguments are added to Tor's
        extrainfo document.

So that means bridge lines can have commas in them.

But Vidalia stores my bridges in vidalia.conf using a line like

Bridge=obfs2, obfs2

This is going to get ugly. Maybe there is a qt way to store sets of things that don't use normal letters as delimiters?

Hopefully the solution we choose will be clever enough to avoid dropping currently configured bridges.

Child Tickets

Change History (4)

comment:1 Changed 8 years ago by chiiph

Resolution: not a bug
Status: newclosed

When there's a comma within an element of that list, Qt puts quotes around the element, like this:

Bridge="obfs2 k=v,k=v", obfs2

And the first comma isn't mistakenly considered a separator.

Unless I'm reading this wrong, this isn't a bug.

comment:2 Changed 8 years ago by arma


comment:3 Changed 8 years ago by arma

Resolution: not a bug
Status: closedreopened

Just so I've asked: what does Qt do when there's a quote and a comma within an element of that list?

comment:4 Changed 8 years ago by chiiph

Resolution: not a bug
Status: reopenedclosed

It'd be like this:

Bridge="obfs2 k=v,k=v,k=v", obfs2, "obfs \"hola\","
Note: See TracTickets for help on using tickets.